﻿// EditorCommands.cs
//
// Copyright (c) 2007 Mike Strobel
//
// This source code is subject to the terms of the Microsoft Reciprocal License (Ms-RL).
// For details, see <http://www.opensource.org/licenses/ms-rl.html>.
//
// All other rights reserved.

using System;
using System.Windows.Input;

namespace Supremacy.Editor
{
    public static class EditorCommands
    {
        #region Fields
        private static readonly RoutedUICommand ExitCommand;
        private static readonly RoutedUICommand FindNextCommand;
        private static readonly RoutedUICommand NewBuildingCommand;
        private static readonly RoutedUICommand NewShipyardCommand;
        private static readonly RoutedUICommand NewCivCommand;
        private static readonly RoutedUICommand NewFacilityCommand;
        private static readonly RoutedUICommand NewRaceCommand;
        private static readonly RoutedUICommand NewShipCommand;
        private static readonly RoutedUICommand NewStationCommand;
        #endregion

        #region Constructors
        static EditorCommands()
        {
            ExitCommand = new RoutedUICommand(
                "Exit",
                "Exit",
                typeof(EditorWindow));

            FindNextCommand = new RoutedUICommand(
                "Find Next",
                "FindNext",
                typeof(EditorWindow),
                new InputGestureCollection
                {
                    new KeyGesture(Key.F3)
                });

            NewRaceCommand = new RoutedUICommand(
               "Create a new Race",
               "NewRace",
               typeof(EditorWindow));

            NewCivCommand = new RoutedUICommand(
                "Create a new Faction",
                "NewCiv",
                typeof(EditorWindow));

            NewBuildingCommand = new RoutedUICommand(
                "Create a new Building",
                "NewBuilding",
                typeof(EditorWindow));

            NewShipyardCommand = new RoutedUICommand(
                "Create a new Shipyard",
                "NewShipyard",
                typeof(EditorWindow));

            NewFacilityCommand = new RoutedUICommand(
                "Create a new Facility",
                "NewFacility",
                typeof(EditorWindow));

            NewShipCommand = new RoutedUICommand(
                "Create a new Ship",
                "NewShip",
                typeof(EditorWindow));

            NewStationCommand = new RoutedUICommand(
                "Create a new Station",
                "NewStation",
                typeof(EditorWindow));
        }
        #endregion

        #region Properties
        public static RoutedUICommand Exit
        {
            get { return ExitCommand; }
        }

        public static RoutedUICommand FindNext
        {
            get { return FindNextCommand; }
        }

        public static RoutedUICommand NewRace
        {
            get { return NewRaceCommand; }
        }

        public static RoutedUICommand NewCiv
        {
            get { return NewCivCommand; }
        }

        public static RoutedUICommand NewBuilding
        {
            get { return NewBuildingCommand; }
        }

        public static RoutedUICommand NewShipyard
        {
            get { return NewShipyardCommand; }
        }

        public static RoutedUICommand NewFacility
        {
            get { return NewFacilityCommand; }
        }

        public static RoutedUICommand NewShip
        {
            get { return NewShipCommand; }
        }

        public static RoutedUICommand NewStation
        {
            get { return NewStationCommand; }
        }
        #endregion
    }
}